/*
 * @Author: yuki
 * @Date: 2025-11-01 15:50:02
 * @LastEditTime: 2025-11-06 11:49:47
 * @Description: App组件
 */
import { memo } from 'react';
import type { FC, ReactNode } from 'react';
import { Provider } from 'react-redux';
import { BrowserRouter } from 'react-router-dom';

import Layout from './pages/Layout';
import store from './store/index.ts';
import ThemeProvider from './theme/index.ts';

interface IProps {
  children?: ReactNode;
}

const App: FC<IProps> = () => {
  return (
    <Provider store={store}>
      <ThemeProvider>
        <BrowserRouter>
          <Layout />
        </BrowserRouter>
      </ThemeProvider>
    </Provider>
  );
};

export default memo(App);
